feat: Django 4.2 LTS support + release 1.5.0 (#622)#645
Merged
Conversation
Closes #622 — the cross-repo Django 4.2 chain is now complete. ## What Relax this package's Django pin from `>=5.0,<7.0` to `>=4.2,<7.0`, bump the API + MCP dep constraints to their 4.2-aware floors, add a 4.2 dimension to CI, and update the README's Requirements section + classifier list to advertise 4.2. | Repo | Before | After | Released | |---|---|---|---| | `django-admin-rest-api` | `django >=5.0` | `django >=4.2` | 1.1.0 (PyPI) | | `django-admin-mcp-api` | `django >=5.0` | `django >=4.2` | 1.1.0 (PyPI) | | `django-admin-react` | `django >=5.0` | `django >=4.2` | **1.5.0 (this PR)** | Why the constraint tightens on `django-admin-mcp-api` even though its public range stays the same: the 1.0.x line pins ``django>=5.0``, so a consumer on Django 4.2 would resolve to an mcp version that refuses to install. Bumping the floor to ``>=1.1.0`` keeps the install promise honest. ## CI matrix Added a `matrix.django: ["4.2", "5.2"]` dimension; runtime install swaps Django via the venv's `pip install "django~=<matrix>.0"`. Today both matrix cells run py3.12. ## README freshness While here, two doc updates aligned to the post-#631 reality: - `PRIMARY_COLOR` default is now `None` (the resolver reads `AdminSite.site_primary_color` next, falling back to the built-in `#2563eb`). The settings-block example reflects the None default. - New "Accent colour" subsection in Branding documents the full resolution order + the `site_primary_color` AdminSite-attr convention, with a worked `AcmeAdminSite` example. The "Requirements" line now reads `Django: 4.2 LTS, 5.0, 5.1, 5.2 LTS, 6.0 (and any later 6.x)` — accurate for what the wheel will actually install on. ## Verification - `poetry run pytest -q` — **61 / 61 ✓** on Django 4.2.30 - `poetry run pytest -q` — **61 / 61 ✓** on Django 5.2.14 (no regression) - `pnpm test` — **187 / 187 ✓** - `pnpm -r typecheck` ✓ - `pnpm lint` ✓ - Cross-repo install resolved end-to-end: rest-api 1.1.0 + mcp-api 1.1.0 + django 4.2.30 + this package 1.5.0 in one venv. ## Minor bump rationale `1.4.13` → `1.5.0`. New supported environment (Django 4.2 LTS) per SemVer's "additive features that broaden compatibility" guideline. Matches the symmetric 1.1.0 minor bumps on `django-admin-rest-api` and `django-admin-mcp-api`. Closes #622. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #622 — the cross-repo Django 4.2 chain is complete.
What
Relax this package's Django pin from
>=5.0,<7.0to>=4.2,<7.0, bump the API + MCP dep constraints to their 4.2-aware floors, add a 4.2 dimension to CI, and update the README's Requirements + classifier list.django-admin-rest-apidjango >=5.0django >=4.2django-admin-mcp-apidjango >=5.0django >=4.2django-admin-reactdjango >=5.0django >=4.2Why the SPA's MCP constraint also tightens (
>=1.0.0→>=1.1.0): the 1.0.x mcp line pinsdjango >=5.0, so a consumer on Django 4.2 would resolve to an mcp version that refuses to install. Bumping the floor keeps the install promise honest.CI matrix
Runtime install swaps Django via the venv's
pip install "django~=<matrix>.0", same idiom the API + MCP repos use.README freshness
Two doc updates aligned to the post-#631 / post-Django-4.2 reality:
PRIMARY_COLORdefault is nowNone(resolver readsAdminSite.site_primary_colornext, falls back to the built-in#2563eb). The settings-block example reflects theNonedefault.site_primary_colorAdminSite-attr convention with a workedAcmeAdminSiteexample.Django: 4.2 LTS, 5.0, 5.1, 5.2 LTS, 6.0.Screenshots in
docs/screenshots/were last regenerated 2026-05-28; they still accurately represent the SPA's core surface (light/dark/mobile/login/registry/list/detail/JSON-view). Deferring full regeneration to a dedicated session — running Playwright + a Django dev server + Chromium for a docs refresh adds friction the text changes don't.Verification
poetry run pytest -q— 61 / 61 ✓ on Django 4.2.30poetry run pytest -q— 61 / 61 ✓ on Django 5.2.14 (no regression)pnpm test— 187 / 187 ✓pnpm -r typecheck✓pnpm lint✓Minor bump rationale
1.4.13→1.5.0. New supported environment (Django 4.2 LTS) per SemVer's "additive features that broaden compatibility." Matches the symmetric 1.1.0 minor bumps ondjango-admin-rest-apianddjango-admin-mcp-api.🤖 Generated with Claude Code